#coding:utf-8
import talib
from py_at.strategy import Strategy
from py_at.Data import Data
from py_at.Bar import Bar
import numpy as np
import time
class FaDan(Strategy):
    def __init__(self,cfg):
        super().__init__(cfg)
        #初始化参数
        if cfg=="":
            pass
        self.p_lots = self.Params['Lots'] = 1

        self.timeD = ''
        self.MovePrice=0

    def OnBarUpdate(self,data=Data,bar=Bar):






        #序列化变量和常规的不是很一样  以后可以研究一下   也可以不放到这里   每个tick运行一次  可以动态构建k线  但是可能影响速度

        if (self.timeD != self.D[-1]):
            self.Buy(self.O[-1] + self.MovePrice, self.p_lots, '买开')
            self.timeD = self.D[-1]
            # self.writeStrategyLog("ID{0}上根时间{1}开{2} 高{3} 低{4} 收{5}  中轨{6} 上轨{7} 下轨{8}".format(self.ID,self.D[-2],self.O[-2],self.H[-2],self.L[-2],self.C[-2],middle[-2],upper[-2],lower[-2]))
            # self.writeStrategyLog("为当前多仓%s当前空仓%s" % (self.PositionLong, self.PositionShort))

        # if self.PositionLong==0: # 多仓等于上传
        #     if self.C[-2] > upper[-2]:# 穿越上轨,买入信号
        #         if self.PositionShort>0:
        #             self.BuyToCover(self.O[-1]+self.MovePrice,self.p_lots,'买平')
        #         self.Buy(self.O[-1]+self.MovePrice,self.p_lots,'买开')
        #         print("{0}-买 {1}".format(self.D[-1],self.O[-1]))
        #
        # elif self.PositionShort == 0:
        #     if self.C[-2] < lower[-2]: #穿越下轨,卖出信号
        #         if self.PositionLong>0:
        #             self.Sell(self.O[-1]-self.MovePrice,self.p_lots,'卖平')
        #         self.SellShort(self.O[-1]-self.MovePrice, self.p_lots, '卖开')
        #         print("{0}-卖 {1}".format(self.D[-1], self.O[-1]))






